001 /*
002 * Copyright 2005 Stephen J. McConnell.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
013 * implied.
014 *
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 */
018
019 package net.dpml.transit.model;
020
021 import java.util.EventObject;
022
023 /**
024 * An abstract event related to the addition and removal of hosts
025 * to and from the cache model.
026 *
027 * @author <a href="http://www.dpml.net">Digital Product Meta Library</a>
028 * @version 1.0.1
029 */
030 public abstract class CacheEvent extends EventObject
031 {
032 /**
033 * Serial version identifier.
034 */
035 static final long serialVersionUID = 1L;
036
037 private final HostModel m_host;
038
039 /**
040 * Construction of a new cache change event.
041 * @param source the cache model initiating the event
042 * @param host the host model added or removed from the cache
043 */
044 public CacheEvent( CacheModel source, HostModel host )
045 {
046 super( source );
047 m_host = host;
048 }
049
050 /**
051 * Return the cache model that initiating the event.
052 * @return the cache model
053 */
054 public CacheModel getCacheModel()
055 {
056 return (CacheModel) getSource();
057 }
058
059 /**
060 * Return the host model that was added or removed.
061 * @return the host model
062 */
063 public HostModel getHostModel()
064 {
065 return m_host;
066 }
067 }